//
// Created by 25362 on 24-11-16.
//

#ifndef STUDENT_H
#define STUDENT_H
#include <string>
#include <vector>

#include "people.h"
#include "Subject.h"

class Student : public People {
    private:
    int id{};
    std::string className;
    int subjectNum{};
    std::vector<Subject> subjects;
    float GPA = 0;

    public:
    Student();
    Student(int id, string &name, int age, int sex, string &className, vector<Subject> subjects, int subjectNum);
    ~Student() override;

    void showInfo() const;

    static void showHeader();

    std::string getClassName();
    void setClassName(const std::string &name);

    int getId() ;
    void setId(int id);

    int getSubjectNum() const;
    void setSubjectNum(int subjectNum);

    vector<Subject> getSubjects();
    void setSubjects(vector<Subject> Subjects);

    float getGPA() const;
    void setGPA(float GPA);

    int getAge() override;
    void setAge(int age) override;

    std::string getName() override;
    void setName(std::string name) override;

    int getSex() override;
    void setSex(int sex) override;

};
#endif //STUDENT_H
